#ifndef RS274NGC_INTERP_THREAD_H
#define RS274NGC_INTERP_THREAD_H
#include "interp_base.hh"
#include "interp_internal.hh"
#include "rs274ngc_interp.hh"

class InterpThread : public Interp
{
public:
    InterpThread(int threadId);
    ~InterpThread();

    int read_movj(char* line, int* counter, block_pointer block, double* parameters);
    int read_movl(char* line, int* counter, block_pointer block, double* parameters);
    int read_movc(char* line, int* counter, block_pointer block, double* parameters);
    int read_movs(char* line, int* counter, block_pointer block, double* parameters);

    int read_sleep(char* line, int* counter, block_pointer block, double* parameters);
    int read_admitenable(char* line, int* counter, block_pointer block, double* parameters);

    int read_settool(char* line, int* counter, block_pointer block, double* parameters);
    int read_settoolid(char* line, int* counter, block_pointer block, double* parameters);
    int read_setuserframe(char* line, int* counter, block_pointer block, double* parameters);
    int read_setuserid(char* line, int* counter, block_pointer block, double* parameters);
    int read_setpayload(char* line, int* counter, block_pointer block, double* parameters);
    int read_setadmitctrlconfig(char* line, int* counter, block_pointer block, double* parameters);
    int read_setendforcecondition(char* line, int* counter, block_pointer block, double* parameters);
    int read_setcompliantctrlcondition(char* line, int* counter, block_pointer block, double* parameters);
    int read_setcomplianttype(char* line, int* counter, block_pointer block, double* parameters);
    int read_setvelcompliantlevel(char* line, int* counter, block_pointer block, double* parameters);
    int read_setforcectrlframe(char* line, int* counter, block_pointer block, double* parameters);
    int read_disableforcecontrol(char* line, int* counter, block_pointer block, double* parameters);

private:
    // to be added
};

#endif
